Issue #26: ecu stm32 implement parameters database#39
Open
hasslesstech wants to merge 8 commits intomainfrom
Open
Issue #26: ecu stm32 implement parameters database#39hasslesstech wants to merge 8 commits intomainfrom
hasslesstech wants to merge 8 commits intomainfrom
Conversation
…num updations with included validation measures
Member
ULog now sends messages over the wire only if it is connected, correctly logs messages in KPIRover_Init() and does not cause hardfaults due to overflowing the message queue. Default task does not cause HardFault due to overflowing it's stack. ulStorage is initialized in KPIRover_Init(). ulDatabase metadata order has been corrected.
55b1bd2 to
3bb0f36
Compare
0746b64 to
8765b6f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Pull request comes with critical changes to how ULog works. Previously it would skip over consecutive messages due to DMA transmission handling failure (fixed with additional events from driver), it would try to push messages over a dead USB bus (fixed using event flags and a USB state variable controlled directly from driver callbacks), it would cause a HardFault if the connection was not established in time or too many consecutive messages came in (added a check for free queue spaces before adding messages), it would lose messages that arrive up to several seconds after the scheduler is started (fixed by moving init and subscription before other functions inside KPIRover.c)
The default task stack size has been increased after a prolonged investigation of HardFault triggered soon after a snprintf() function call was made. Default task stack would grow over the timer task variable data segment and local variables inside of snprintf() subcalls will be placed on top of timers.c pointers resulting in continuous random writes issued to several of them. This will invalidate pointers and cause an attempt to access non-existing memory during master timer task execution.